package com.lingchou.cloud.process.api.dto.result;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 流程定义统一返回类
 *
 * @author LingChou
 */
@Getter
@Setter
@ToString
@Builder
@ApiModel(value = "ProcessDefinitionDTO", description = "流程定义统一返回类")
public class ProcessDefinitionDTO {
    /**
     * 唯一标识
     */
    @ApiModelProperty(value = "唯一标识")
    private String id;

    /**
     * 类别名称，它是从definitions元素中的targetNamespace属性派生的
     */
    @ApiModelProperty(value = "类别名称，它是从definitions元素中的targetNamespace属性派生的")
    private String category;

    /**
     * 用于显示目的的标签
     */
    @ApiModelProperty(value = "用于显示目的的标签")
    private String name;

    /**
     * 此过程定义的所有版本的唯一名称
     */
    @ApiModelProperty(value = "此过程定义的所有版本的唯一名称")
    private String key;

    /**
     * 流程描述
     */
    @ApiModelProperty(value = "流程描述")
    private String description;

    /**
     * 此流程定义的版本
     */
    @ApiModelProperty(value = "此流程定义的版本")
    private int version;

    /**
     * 资源名称
     */
    @ApiModelProperty(value = "资源名称")
    private String resourceName;

    /**
     * 包含此流程定义的部署标识符。
     */
    @ApiModelProperty(value = "包含此流程定义的部署标识符")
    private String deploymentId;

    /**
     * 关系图映像部署中的资源名称（如果有）。
     */
    @ApiModelProperty(value = "关系图映像部署中的资源名称（如果有）")
    private String diagramResourceName;

    /**
     * 如果进程定义处于挂起状态，则返回true.
     */
    @ApiModelProperty(value = "如果进程定义处于挂起状态，则返回true")
    private boolean suspended;

    /**
     * 此进程定义的租户标识符
     */
    @ApiModelProperty(value = "此进程定义的租户标识符")
    private String tenantId;
}
